package com.itheima.mobilesafe69.utils;

import java.util.List;

import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningServiceInfo;
import android.content.Context;

public class ServiceUtil {
	/**
	 * @param serviceName	判断的是否开启服务的名称
	 * @return	如果服务开启返回true,没有开启false
	 */
	public static boolean isRunning(String serviceName,Context ctx) {
		//1,将手机上的正在运行的所有的服务都获取出来(放置在ActivityManager对象方法中)
		ActivityManager am = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE);
		List<RunningServiceInfo> runningServices = am.getRunningServices(100);
		//2,循环遍历每一个服务,并且获取其名称
		for (RunningServiceInfo runningServiceInfo : runningServices) {
			//获取循环过程中服务的名称
			String className = runningServiceInfo.service.getClassName();
			//3,判断循环过程中的名称,是否和传递进来的名称一致
			if(serviceName.equals(className)){
				//4,如果一致,则返回true,告知传递进来的服务正在运行
				return true;
			}
		}
		//5,如果没有找到一致的,则说明此服务没有开启
		return false;
	}
}
